package com.enjoyor.soa.traffic.api.service.dubbo.kafka;


/**
 * 提供回调功能的Dubbo服务
 * @author yuankun
 * @version V1.0
 */
@SuppressWarnings("rawtypes")
//@Service(protocol = { "dubbo" })
public interface KafkaCallbackService {
	
	/**
	 * 
	 * @Title: addListener
	 * @Description: 从kafka监听数据
	 * @param system 调用的系统
	 * @param topic
	 * @param groupid 组id，同一个id会消耗同一份数据，不同id不会影响其他id消费该topic
	 * @param listener 接收到数据后的实现方法
	 * @return: void
	 */
	void addListener(String system, String topic, String groupid, KafkaCallbackListener listener);
	
	/**
	 * 当记录修改事件发生时，通知所有监听器
	 * @param changeType 事件类型
	 * @param object 被改变的对象
	 */
	void notifyListener(String system, String topic, String groupid, String message);
	
	boolean isActive(String topic);
	
}
